package com.yuda.campsite.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.yuda.common.core.annotation.Excel;
import com.yuda.common.core.web.domain.BaseEntity;

/**
 * 订单对象 campsite_order
 *
 * @author wyn
 * @date 2021-09-27
 */
public class CampsiteOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 订单号 */
    @Excel(name = "订单号")
    private String orderNo;

    /** 营地id */
    @Excel(name = "营地id")
    private Long campsiteId;

    /** 身份证号 */
    @Excel(name = "身份证号")
    private String idCard;

    /** 学生ID */
    @Excel(name = "学生ID")
    private String studentId;

    /** 邀请码 */
    @Excel(name = "邀请码")
    private String invitationCode;

    /** 订单编号 */
    @Excel(name = "订单编号")
    private String outTradeNo;

    /** 订单金额 */
    @Excel(name = "订单金额")
    private BigDecimal allAmount;

    /** 减少金额 */
    @Excel(name = "减少金额")
    private BigDecimal reduction;

    /** 实际直接金额 */
    @Excel(name = "实际直接金额")
    private BigDecimal hasAmount;

    /** 支付金额 */
    @Excel(name = "支付金额")
    private BigDecimal payAmount;

    /** 支付时间 */
    @Excel(name = "支付时间")
    private Long payTime;

    /** 1银联  2支付宝   3微信 */
    @Excel(name = "1银联  2支付宝   3微信")
    private String payWay;

    /** 添加时间 */
    @Excel(name = "添加时间")
    private Long addTime;

    /** 截止时间 */
    @Excel(name = "截止时间")
    private Long endTime;

    /** 错误信息 */
    @Excel(name = "错误信息")
    private String errMsg;

    /** 学习成绩证明材料 图片以,隔开 */
    @Excel(name = "学习成绩证明材料 图片以,隔开")
    private String achievementPath;

    /** 提交资料时间

 */
    @Excel(name = "提交资料时间 ")
    private Long submitTime;

    /** 资料审核状态0-未审核1-通过2-未通过 */
    @Excel(name = "资料审核状态0-未审核1-通过2-未通过")
    private Integer examineStatus;

    /** 不通过原因 */
    @Excel(name = "不通过原因")
    private String examineReason;

    /** 0创建订单 1确认报名须知   2已绑定邀请码[可以跳过]  3填写报名资料 信息已核实确认  4报名资料审核  5确定支付方式(待支付) 6支付成功 7取消订单 */
    @Excel(name = "0创建订单 1确认报名须知   2已绑定邀请码[可以跳过]  3填写报名资料 信息已核实确认  4报名资料审核  5确定支付方式(待支付) 6支付成功 7取消订单")
    private Integer status;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setOrderNo(String orderNo)
    {
        this.orderNo = orderNo;
    }

    public String getOrderNo()
    {
        return orderNo;
    }
    public void setCampsiteId(Long campsiteId)
    {
        this.campsiteId = campsiteId;
    }

    public Long getCampsiteId()
    {
        return campsiteId;
    }
    public void setIdCard(String idCard)
    {
        this.idCard = idCard;
    }

    public String getIdCard()
    {
        return idCard;
    }
    public void setStudentId(String studentId)
    {
        this.studentId = studentId;
    }

    public String getStudentId()
    {
        return studentId;
    }
    public void setInvitationCode(String invitationCode)
    {
        this.invitationCode = invitationCode;
    }

    public String getInvitationCode()
    {
        return invitationCode;
    }
    public void setOutTradeNo(String outTradeNo)
    {
        this.outTradeNo = outTradeNo;
    }

    public String getOutTradeNo()
    {
        return outTradeNo;
    }
    public void setAllAmount(BigDecimal allAmount)
    {
        this.allAmount = allAmount;
    }

    public BigDecimal getAllAmount()
    {
        return allAmount;
    }
    public void setReduction(BigDecimal reduction)
    {
        this.reduction = reduction;
    }

    public BigDecimal getReduction()
    {
        return reduction;
    }
    public void setHasAmount(BigDecimal hasAmount)
    {
        this.hasAmount = hasAmount;
    }

    public BigDecimal getHasAmount()
    {
        return hasAmount;
    }
    public void setPayAmount(BigDecimal payAmount)
    {
        this.payAmount = payAmount;
    }

    public BigDecimal getPayAmount()
    {
        return payAmount;
    }
    public void setPayTime(Long payTime)
    {
        this.payTime = payTime;
    }

    public Long getPayTime()
    {
        return payTime;
    }
    public void setPayWay(String payWay)
    {
        this.payWay = payWay;
    }

    public String getPayWay()
    {
        return payWay;
    }
    public void setAddTime(Long addTime)
    {
        this.addTime = addTime;
    }

    public Long getAddTime()
    {
        return addTime;
    }
    public void setEndTime(Long endTime)
    {
        this.endTime = endTime;
    }

    public Long getEndTime()
    {
        return endTime;
    }
    public void setErrMsg(String errMsg)
    {
        this.errMsg = errMsg;
    }

    public String getErrMsg()
    {
        return errMsg;
    }
    public void setAchievementPath(String achievementPath)
    {
        this.achievementPath = achievementPath;
    }

    public String getAchievementPath()
    {
        return achievementPath;
    }
    public void setSubmitTime(Long submitTime)
    {
        this.submitTime = submitTime;
    }

    public Long getSubmitTime()
    {
        return submitTime;
    }
    public void setExamineStatus(Integer examineStatus)
    {
        this.examineStatus = examineStatus;
    }

    public Integer getExamineStatus()
    {
        return examineStatus;
    }
    public void setExamineReason(String examineReason)
    {
        this.examineReason = examineReason;
    }

    public String getExamineReason()
    {
        return examineReason;
    }
    public void setStatus(Integer status)
    {
        this.status = status;
    }

    public Integer getStatus()
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("orderNo", getOrderNo())
            .append("campsiteId", getCampsiteId())
            .append("idCard", getIdCard())
            .append("studentId", getStudentId())
            .append("invitationCode", getInvitationCode())
            .append("outTradeNo", getOutTradeNo())
            .append("allAmount", getAllAmount())
            .append("reduction", getReduction())
            .append("hasAmount", getHasAmount())
            .append("payAmount", getPayAmount())
            .append("payTime", getPayTime())
            .append("payWay", getPayWay())
            .append("updateTime", getUpdateTime())
            .append("addTime", getAddTime())
            .append("endTime", getEndTime())
            .append("errMsg", getErrMsg())
            .append("achievementPath", getAchievementPath())
            .append("submitTime", getSubmitTime())
            .append("examineStatus", getExamineStatus())
            .append("examineReason", getExamineReason())
            .append("status", getStatus())
            .toString();
    }
}
